package main

import (
	"GameServer/Game/dbmodule"
	"GameServer/Game/m"
	"fmt"

	"gopkg.in/mgo.v2/bson"
)

func DelData() {
	lst := make([]*m.User, 0)
	err := dbmodule.MgoDB.GameDB.FindAll("user", bson.M{"accountId": "25617146LQHT"}, nil, &lst)
	if err != nil {
		fmt.Println(err)
		return
	}
	uidLst := make([]string, 0)
	for _, item := range lst {
		// fmt.Println(idx, item.Uid, item.Uid.Hex())
		uidLst = append(uidLst, item.Uid.Hex())
	}

	// err = dbmodule.MgoDB.GameDB.FindAll("lockBlock", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	for _, item := range lst {
		obj := &m.LockBlocks{}
		err = dbmodule.MgoDB.GameDB.FindOne("lockBlocks", bson.M{"_id": item.Uid}, nil, &obj)
		if err != nil {
			fmt.Println(err)
		}
		fmt.Println(obj)
		err = dbmodule.MgoDB.GameDB.Remove("lockBlocks", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("lockBlocks")
	// err = dbmodule.MgoDB.GameDB.FindAll("union", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("unionMembers", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("unionEnergy", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("shopItems", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	for _, item := range lst {
		err = dbmodule.MgoDB.GameDB.Remove("hideShop", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("hideShop")
	// err = dbmodule.MgoDB.GameDB.FindAll("unionBan", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("userSet", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	for _, item := range lst {
		err = dbmodule.MgoDB.GameDB.Remove("userMail", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("userMail")
	for _, item := range lst {
		err = dbmodule.MgoDB.GameDB.Remove("userPet", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("userPet")
	for _, item := range lst {
		err = dbmodule.MgoDB.GameDB.Remove("userStatic", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("userStatic")
	for _, item := range lst {
		err = dbmodule.MgoDB.GameDB.Remove("cardGame", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("cardGame")
	for _, item := range lst {
		err = dbmodule.MgoDB.GameDB.Remove("cardGameMulCombat", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("cardGameMulCombat")
	for _, item := range lst {
		err = dbmodule.MgoDB.GameDB.Remove("userNewGuide", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("userNewGuide")
	for _, item := range lst {
		err = dbmodule.MgoDB.GameDB.Remove("testActivityRes", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("testActivityRes")
	// err = dbmodule.MgoDB.GameDB.FindAll("layer", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	for _, item := range lst {
		err = dbmodule.MgoDB.GameDB.Remove("foe", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("foe")
	for _, item := range lst {
		err = dbmodule.MgoDB.GameDB.Remove("adRewards", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("adRewards")
	for _, item := range lst {
		err = dbmodule.MgoDB.GameDB.Remove("heros", bson.M{"_id": item.Uid})
		if err != nil {
			fmt.Println(err)
		}
	}
	fmt.Println("heros")
	// err = dbmodule.MgoDB.GameDB.FindAll("hero", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("HeroGoodNotOwned", bson.M{"_id": item.Uid})
	}
	fmt.Println("HeroGoodNotOwned")
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("scryerInfoData", bson.M{"_id": item.Uid})
	}
	fmt.Println("scryerInfoData")
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("userActivityProgress", bson.M{"_id": item.Uid})
	}
	fmt.Println("userActivityProgress")
	// err = dbmodule.MgoDB.GameDB.FindAll("actActivityGroup", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("userActRanks", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("userFriends", bson.M{"_id": item.Uid})
	}
	fmt.Println("userFriends")
	// err = dbmodule.MgoDB.GameDB.FindAll("MCGamer", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("MCGroup", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("MCActiv", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("userSpBoxContent", bson.M{"_id": item.Uid})
	}
	fmt.Println("userSpBoxContent")
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("UserAchiev", bson.M{"_id": item.Uid})
	}
	fmt.Println("UserAchiev")
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("AchievTotal", bson.M{"_id": item.Uid})
	}
	fmt.Println("AchievTotal")
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("AchievAuxiliary", bson.M{"_id": item.Uid})
	}
	fmt.Println("AchievAuxiliary")
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("DailyGift", bson.M{"_id": item.Uid})
	}
	fmt.Println("DailyGift")
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("ShopDiamon", bson.M{"_id": item.Uid})
	}
	fmt.Println("ShopDiamon")
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("ActPack", bson.M{"_id": item.Uid})
	}
	fmt.Println("ActPack")
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("BossPack", bson.M{"_id": item.Uid})
	}
	fmt.Println("BossPack")
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("UserPush", bson.M{"_id": item.Uid})
	}
	fmt.Println("UserPush")
	// err = dbmodule.MgoDB.GameDB.FindAll("EAGamer", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("EAActiv", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("ERActiv", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("ERGamer", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("ERGroup", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("JGamer", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("JActiv", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("JGroup", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	// err = dbmodule.MgoDB.GameDB.FindAll("ExCode", bson.M{"maxPos.lockBlockTid": 1}, nil, &lst)
	for _, item := range lst {
		dbmodule.MgoDB.GameDB.Remove("RecruitTrain", bson.M{"_id": item.Uid})
	}
	fmt.Println("RecruitTrain")
	for _, item := range lst {
		dbmodule.MgoDB.GameLogDB.RemoveAll("WaBaoLog", bson.M{"uid": item.Uid.Hex()})
	}
	fmt.Println("WaBaoLog")
	for _, item := range lst {
		dbmodule.MgoDB.GameLogDB.RemoveAll("SlotLog", bson.M{"uid": item.Uid.Hex()})
	}
	fmt.Println("SlotLog")
	for _, item := range lst {
		dbmodule.MgoDB.GameLogDB.RemoveAll("ShopBuyLog", bson.M{"uid": item.Uid.Hex()})
	}
	fmt.Println("ShopBuyLog")
	for _, item := range lst {
		dbmodule.MgoDB.GameLogDB.RemoveAll("HideShopLog", bson.M{"uid": item.Uid.Hex()})
	}
	fmt.Println("HideShopLog")
	for _, item := range lst {
		dbmodule.MgoDB.GameLogDB.RemoveAll("BeFireLog", bson.M{"uid": item.Uid.Hex()})
		dbmodule.MgoDB.GameLogDB.RemoveAll("BeFireLog", bson.M{"fromUid": item.Uid.Hex()})
	}
	fmt.Println("BeFireLog")
	for _, item := range lst {
		dbmodule.MgoDB.GameLogDB.RemoveAll("FireLog", bson.M{"uid": item.Uid.Hex()})
		dbmodule.MgoDB.GameLogDB.RemoveAll("FireLog", bson.M{"tuid": item.Uid.Hex()})
	}
	fmt.Println("FireLog")
	for _, item := range lst {
		dbmodule.MgoDB.GameLogDB.RemoveAll("GoldLog", bson.M{"uid": item.Uid.Hex()})
	}
	fmt.Println("GoldLog")
	for _, item := range lst {
		dbmodule.MgoDB.GameLogDB.RemoveAll("DiamonLog", bson.M{"uid": item.Uid.Hex()})
	}
	fmt.Println("DiamonLog")
	for _, item := range lst {
		dbmodule.MgoDB.GameLogDB.RemoveAll("EnergyLog", bson.M{"uid": item.Uid.Hex()})
	}
	fmt.Println("EnergyLog")
	for _, item := range lst {
		dbmodule.MgoDB.GameLogDB.RemoveAll("UserDailyLog", bson.M{"uid": item.Uid.Hex()})
	}
	fmt.Println("UserDailyLog")
	for _, item := range lst {
		dbmodule.MgoDB.GameLogDB.RemoveAll("UserAddrLog", bson.M{"uid": item.Uid.Hex()})
	}
	fmt.Println("UserAddrLog")
}
